docs + examples: bring guides and showcase current with 16.0#3359
Merged
Conversation
Audit of content/docs + skills against the 16.0 changes. Fixes 5 genuinely stale spots and fills the additive gaps the guides were missing (the release page already covered these; the guides lagged). Stale fixes: - automation/hooks.mdx, kernel/events.mdx: ctx.session comment/table said tenantId — now organizationId (#3290 removed the alias). - skills/objectstack-data/.../data-hooks.md: drop the leftover deprecated tenantId field from the session type; correct 'removed in v11' -> v16. - data-modeling/field-types.mdx: readonly is a server contract (stripped on INSERT+UPDATE, #2948/#3043), not a UI hint. - data-modeling/formulas.mdx: the Expression envelope lists three dialects (cel/cron/template) — the js expression dialect was retired (#3278). Additive: - formulas.mdx: floor/ceil in the stdlib; date arithmetic is now a build error (use daysBetween/addDays, #3306); a callout that dateField == today() now matches (#3183). - automation/approvals.mdx: server-computed decision_progress block + the /system/approvals?request=<id> notification deep link. - ui/translations.mdx: the _actions.<action>.resultDialog translation slot (#3347) + a note on collab-notification/storage localization (#3354). - protocol/kernel/runtime-capabilities.mdx: the transactionalBatch discovery capability (#3298). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AHVoqyH9VAjmbyMN1Ri2jf
…itialStates Adds coverage for three shipped 16.0 features the showcase was missing (all shapes verified against @objectstack/spec schemas; each mirrors an existing flow in the same file): - CommitteeQuorumFlow — a behavior:'quorum' approval requiring any 2-of-3 committee positions (manager/finance/legal) on a high-value expense report (#3266 M-of-N), the collective-tally complement to ExpenseSignoffFlow's per_group 会签. - TaskDueReminderFlow — a type:'schedule' flow whose start node declares config.timeRelative (showcase_task.due_date, offsetDays:[3,1], filter status != done) to remind owners before a task is due (#1874). - project_status_flow — adds initialStates:['planned'] (+ 'insert' in events) so a project can only be created in 'planned', not born mid-flow (#3165). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AHVoqyH9VAjmbyMN1Ri2jf
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
os-zhuang
marked this pull request as ready for review
July 20, 2026 12:04
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to the v16 release-page work (#3322 / #3331 / #3357). An audit of the hand-written guides and the example apps against the 16.0 changes. Two separate commits.
Commit 1 — docs
The release page already covered 16.0; the guides lagged. Fixes 5 genuinely stale spots and fills the additive gaps.
Stale fixes
automation/hooks.mdx,kernel/events.mdxctx.sessioncomment/table saidtenantId→organizationId(#3290 removed the alias)skills/objectstack-data/references/data-hooks.mdtenantIdsession field; correct "removed in v11" → v16data-modeling/field-types.mdxreadonlyis a server contract (stripped on INSERT+UPDATE, #2948/#3043), not a UI hintdata-modeling/formulas.mdxjsexpression dialect was retired (#3278)Additive
formulas.mdx:floor/ceilin the stdlib; date arithmetic is now a build error (usedaysBetween/addDays, Shipped template formula fields silently evaluate to null on @objectstack 15.1.1 — daysBetween / Timestamp−Timestamp / floor in stored formulas (hr tenure_years, time_off days) #3306); a callout thatdateField == today()now matches (BaredateField == today()silently returns false — fix via AST temporal-comparison rewrite in the CEL engine #3183).automation/approvals.mdx: server-computeddecision_progress+ the/system/approvals?request=<id>notification deep link. (The declared decision-action set, attachments, and viewer gating were already documented — the audit's stale checkout under-reported them; verified against currentmain.)ui/translations.mdx: the_actions.<action>.resultDialogtranslation slot (feat(i18n): make action resultDialog copy translatable (schema slot + resolver + platform bundles) #3347) + a note on collab-notification/storage localization (fix(i18n/notifications): localize collab notification titles + storage objects; wire the notifications REST routes #3354).protocol/kernel/runtime-capabilities.mdx: thetransactionalBatchdiscovery capability (discovery 广播「跨对象原子 batch」能力位(让客户端声明式协商,取代 404/405/501 运行时探测) #3298).Commit 2 — examples (app-showcase)
Three shipped 16.0 features the showcase was missing. No breakage was found in the audit — the examples already ran clean on 16.0; these are additive demos. Every shape verified against
@objectstack/specschemas and mirrors an existing flow in the same file.CommitteeQuorumFlow—behavior:'quorum', any 2-of-3 committee positions on a high-value expense report ([P1] approvals: quorum (M-of-N) + grouped per-group sign-off (会签) + decision attachments #3266 M-of-N) — the collective-tally complement toExpenseSignoffFlow'sper_group会签 (which was already demonstrated).TaskDueReminderFlow— atype:'schedule'flow whose start node declaresconfig.timeRelative(showcase_task.due_date,offsetDays:[3,1],filter status != done) to remind owners before a task is due ([P2] Provide a declarative time-relative trigger (avoid fragile date-equality on record-change) #1874).project_status_flow— addsinitialStates:['planned'](+insertinevents, which is what makes the check fire) so a project can only be created inplanned(enhancement:state_machine校验规则在 INSERT 上是 no-op —— 无法强制记录的初始状态(declared ≠ enforced) #3165).Verification
check:role-word,check:doc-authoring→ OK. (Release-notes guard unaffected.)ApprovalNodeConfigSchema(behavior:'quorum'+minApprovals),TimeRelativeTriggerSchema(object/dateField/offsetDays/withinDays/filter: record<string,unknown>),ValidationSchemainitialStates+ theevents-gates-insert rule inrule-validator.ts.os validateruns in CI (no localnode_modulesin the worktree); I'm watching the PR and will fix any failure.🤖 Generated with Claude Code
https://claude.ai/code/session_01AHVoqyH9VAjmbyMN1Ri2jf
Generated by Claude Code